home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 April
/
EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso
/
EARCD
/
comm
/
misc
/
zpoint_3_14.lha
/
zpoint-3.14
/
Rexx
/
ReadNextMessage.ttx
< prev
next >
Wrap
Text File
|
1995-12-03
|
6KB
|
200 lines
/*
ReadNextMessage.ttx 1.11 (23 Feb 1994) von M.Pietz (M_PIETZ@HOT.GUN.DE)
ARexx skript für Zodiac's Point V37.116ß und TurboText
Zweck:
------
Nachrichten lesen ohne dauernd zwischen
Reader und Brett-Menue 'hinundherzuzappen'..
Dieses Script hat 3 Parameter:
ZPScreen - Name des ZPoint Ports
Type - String 'ANY' oder 'NEW' je nachdem ob die nächste Nachricht
oder die nächste neue Nachricht gelesen werden soll
Richtung - STRING 'UP' oder 'DOWN' für die Richtung in die nach
Nachrichten gesucht werden soll
Installation:
-------------
Dieses Skript und das Script 'ReadMessage.ttx'
ins Rexx: Verzeichnis kopieren.
ZP:
Turbotext als Reader eintragen
z.b.:
sys:wbstartup/ttx %s SCREEN %s
Turbotext:
Skript auf einer F-Taste oder einen Menupunkt installieren.
z.b. belegen diese Befehle den Nummernblock :
NUM_PAD-5 ExecARexxMacro "Rexx:ReadMessage.ttx ZPoint"
NUM_PAD-+ ExecARexxMacro "Rexx:ReadNextMessage.ttx ZPoint ANY DOWN"
NUM_PAD-2 ExecARexxMacro "Rexx:ReadNextMessage.ttx ZPoint NEW DOWN"
NUM_PAD-- ExecARexxMacro "Rexx:ReadNextMessage.ttx ZPoint ANY UP"
NUM_PAD-8 ExecARexxMacro "Rexx:ReadNextMessage.ttx ZPoint NEW UP"
Bedienung:
----------
In einem Brett die erste neue Nachricht mittels RETURN lesen,
danach in TTX mittels dieses Scripts alle weiteren Nachrichten
direkt lesen.
*/
OPTIONS RESULTS
PARSE ARG ZPScreen Type Richtung
ende = 0
if Type = "" then Type = "ANY"
if Richtung = "" then Richtung "DOWN"
ADDRESS VALUE ZPScreen
WHICHLEVEL
if RESULT ~= "BOARD" then do /* Wenn vom Hauptmenu oder Boardmenu */
BOARDMENU /* das Script aufgerufen wird */
if Type = "ANY" then ENTERBOARD
else do
JUMPTOBOARD 1 /* Auf die erste neue Message gehen */
JUMPTONEW
ENTERBOARD
end
end
else do
/* naechste neue Nachricht finden */
if Type = "NEW" then do
/*JUMPTONEW Richtung*/
if Richtung = "UP" then JUMPTONEW UP
else JUMPTONEW DOWN
end
else do
if Richtung = "UP" then UP
else DOWN
end
/* haben wir eine Nachricht gefunden? */
if rc = 0 then do /* Nein, Erst Brett mit neuen Nachrichten suchen */
REQUESTRESPONSE "Keine neuen Nachrichten. Nächstes Brett ?"
if RC = 1 then
ende = next_board()
else do
ende = 1
end
end
end
/* Wenn nichts schief gelaufen ist, jetzt Message einladen */
/* dazu wird das ARexxscript ReadMessage.ttx gestartet */
if ende = 0 then do
Call ReadMessage ZPScreen
MARKASOLD
end
exit
/* Unterroutine */
next_board:
BOARDMENU /* zur nächsten neuen Nachricht */
if Type = "NEW" then do
/*JUMPTONEW Richtung*/
if Richtung = "UP" then JUMPTONEW UP
else JUMPTONEW DOWN
end
else do
if Richtung = "UP" then UP
else DOWN
end
if RC = 0 then do
REQUESTNOTIFY "Keine weiteren Bretter mit neuen Nachrichten!"
return(1) /* Schleife abbrechen */
end
else do
ENTERBOARD
end
return(0)
-------------Schipp--------------------------------------------------------
/* $VER: 1.32 ReadMessage.ttx (23 Feb 1994) */
/* ARexx Script für ZPoint V37.116 & Turbotext */
/* geschrieben von Markus Pietz (M_PIETZ@HOT.GUN.DE) */
/* Liest die akt. Message in das aktive Window von */
/* Turbotext ein. */
options results
parse arg ZPScreen
if ZPScreen = "" then ZPScreen = "ZPoint"
address VALUE ZPScreen
MESSAGEINFO TYPE
if RESULT = "TEXT" then do /* Eine Textdatei */
MESSAGEINFO AUTHOR /* Informationen über die Message sammeln */
von = RESULT /* für den TextHeader */
MESSAGEINFO SUBJECT
betr = RESULT
MESSAGEINFO RECEIVER
empf = RESULT
MESSAGEINFO ROUTE
weg = RESULT
SAVEMESSAGEBODYTOCLIP /* akt. Message ins Clipboard */
if RC=1 then do
/* An TTX-Hauptprozess wenden um den Namen des ARexxports
des aktiven Fensters zuerfahren */
address VALUE "TURBOTEXT"
ActivateLastDoc /* Letztes aktive TTX Fenster */
/* nach vorne bringen */
TTX_Port = RESULT /* ARexxPortname des Fensters */
address VALUE TTX_Port
SetDisplayLock On
SetReadOnly OFF /* Schreibschutz entfernen */
ClearFile QUIET /* geladenes File löschen */
Text "Von :" von /* eigenen Header einfügen */
InsertLine NoBreak Indent
Text "Betr:" betr
InsertLine NoBreak Indent
Text "An :" empf
InsertLine NoBreak Indent
Text "Weg :" weg
InsertLine NoBreak Indent
InsertLine NoBreak Indent
SetBookmark 199
PasteClip /* Message vom Clipboard laden */
MoveBookmark 199 /* zum Textanfang gehen */
Killspezial()
SetReadOnly ON /* Schreibschutz wieder aktiv */
MoveBookmark 199 /* zum Textanfang gehen */
MoveSOL
SetDisplayLock OFF
end
else do
REQUESTNOTIFY "Konnte Message nicht einlesen!"
end
end
else do
REQUESTNOTIFY "Binär Message !"
end
exit
/* 'CR' am Ende jeder Zeile der Message löschen */
Killspezial:
RecordMacro QUIET /* TTX Macroaufzeichnung EIN */
MOVEEOL /* EndOfLine */
MOVELEFT
DELETE /* Einen Buchstaben löschen */
MOVESOL /* StartOfLine */
MOVEDOWN
EndMacro
GetCursorPos
PARSE VAR RESULT CurLine x
GetFileInfo
PARSE VAR RESULT AllLine x
/* Auf alle Zeilen der Message anwenden */
PlayMacro ((AllLine-CurLine))
Return(0)